#include <stdio.h>
#include <string.h>
#include "aut.h"
#include "capteur.c"
#include "parcours.c"
#include "personnel.c"
#include "patient.c"


void main ()
{int test,d,choix;
printf("voulez vous vous connecter en tant que directeur ou responsable de securité? \n");
printf("tapez 1: directeur\n");
printf("tapez 2: responsable de securite \n");
printf("autre touche: quitter \n");
scanf("%d",&choix);
if (choix==1)
{test=verif_fheadmaster("info_head.txt");
if (test==1)
{      
       do{
	printf("tapez 1: modifier vos identifiants\n");
printf("taper 2: acceder aux modules patient+personnel \n");
printf("autre touche: quitter \n");
	scanf("%d",&d);
	switch (d)
	{case 1:modif_fheadmaster("info_head.txt");break;
	case 2:acces_headmaster();break;
	default:printf("vous avez choisi de quitter \n");}
        	}while ((d==1)||(d==2));
	}

}





else if (choix==2)
{test=verif_fsecurity("info_security.txt");
if (test==1)
{      
      do{
		printf("tapez 1: modifier vos identifiants\n");
printf("taper 2: acceder aux modules capteur+parcours \n");
printf("autre touche: quitter \n");
	scanf("%d",&d);
	switch (d)
	{case 1:modif_fsecurity("info_security.txt");break;
	case 2:acces_security();break;
	default:printf("vous avez choisi de quitter \n");}
        	}while ((d==1)||(d==2));
	}

}

else printf("vous avez choisi de quitter \n");


}








int verif_fheadmaster(char chemin[31])
{int choix,i,p,c,test;
test=0;
char mdp_fichier[31];
char login_fichier[31];
char login[31];
char mdp[31];
FILE *f;
f=fopen(chemin,"r");
if (f==NULL)
{printf("chemin erroné ou fichier inexistant \n");}
	else { 
	i=0;
do{
		do{ 
		printf("donner votre login s'il vous plait: \n");
		scanf("%s",login);
		}while ((strlen(login)<1)||(strlen(login)>30));
fscanf(f,"%s",login_fichier);
do{
printf("donner votre mote de passe: \n");
scanf("%s",mdp);
}while ((strlen(mdp)<1)||(strlen(mdp)>30));
fscanf(f,"%s",mdp_fichier);
c=strcmp(mdp,mdp_fichier);
p=strcmp(login,login_fichier);


if ((c!=0)||(p!=0))
	{printf("login ou mot de passe erroné \n");
	i++;}
		else 
		{printf("authentification correcte \n");
		test=1;}
}while ((test==0)&&(i<=3));
fclose(f);
	}
return(test);}









int verif_fsecurity(char chemin[30])
{int choix,i,p,c,test;
test=0;
char mdp_fichier[31];
char login_fichier[31];
char login[31];
char mdp[31];
FILE *f;
f=fopen(chemin,"r");
if (f==NULL)
{printf("chemin erroné ou fichier inexistant \n");}
	else { 
	i=0;
do{
		do{ 
		printf("donner votre login s'il vous plait: \n");
		scanf("%s",login);
		}while ((strlen(login)<1)||(strlen(login)>30));
fscanf(f,"%s",login_fichier);
do{
printf("donner votre mote de passe: \n");
scanf("%s",mdp);
}while ((strlen(mdp)<1)||(strlen(mdp)>30));
fscanf(f,"%s",mdp_fichier);
c=strcmp(mdp,mdp_fichier);
p=strcmp(login,login_fichier);


if ((c!=0)||(p!=0))
	{printf("login ou mot de passe erroné \n");
	i++;}
		else 
		{printf("authentification correcte \n");
		test=1;}
}while ((test==0)&&(i<=3));
fclose(f);
	}
return(test);}









void modif_fheadmaster(char chemin[30])
	{char login[31];
char mdp[31];
FILE *f;

f=fopen(chemin,"r");
if (f==NULL)
printf("chemin erroné ou fichier inexistant \n");
else {
do{
printf("donner votre nouveau login(ne pas depasser les 30 caractéres s'il vous plait) \n");
scanf("%s",login);
}while ((strlen(login)<1)||(strlen(login)>30));

do{
printf("donner votre nouveau mot de passe(ne pas depasser les 30 caractéres s'il vous plait) \n");
scanf("%s",mdp);
}while ((strlen(mdp)<1)||(strlen(mdp)>30));
f=fopen(chemin,"w");
if (f==NULL)
printf("chemin erroné ou fichier inexistant \n");
else 
{fputs(login,f);
fputs("\n",f);
fputs(mdp,f);
fclose(f);}
}}







void modif_fsecurity(char chemin[30])
{char login[31];
char mdp[31];
FILE *f;

f=fopen(chemin,"r");
if (f==NULL)
printf("chemin erroné ou fichier inexistant \n");
else {
do{
printf("donner votre nouveau login(ne pas depasser les 30 caractéres s'il vous plait) \n");
scanf("%s",login);
}while ((strlen(login)<1)||(strlen(login)>30));

do{
printf("donner votre nouveau mot de passe(ne pas depasser les 30 caractéres s'il vous plait) \n");
scanf("%s",mdp);
}while ((strlen(mdp)<1)||(strlen(mdp)>30));
f=fopen(chemin,"w");
if (f==NULL)
printf("chemin erroné ou fichier inexistant \n");
else 
{fputs(login,f);
fputs("\n",f);
fputs(mdp,f);
fclose(f);}
}}











void acces_security()
{
int choix;

printf("taper 1: consulter le module des capteurs \n");
printf("taper 2: consulter le module parcours \n");
printf("autre touche: quitter \n");
scanf("%d",&choix);
switch (choix)
{case 1:menu_capteur();
break;
case 2:mainparcours();
break;
default:printf("vous avez choisi de quitter \n");}

}


















void acces_headmaster()
{

int choix;


printf("taper 1: consulter le module des patients \n");
printf("taper 2: consulter le module du personnel \n");
printf("autre touche: quitter \n");
scanf("%d",&choix);
switch (choix)
{case 1:menu_patient();
break;
case 2:menu_personnel();
break;
default:printf("vous avez choisi de quitter \n");}
}













































































